package ru.spb.osll.myfit.client.service;

import com.google.gwt.user.client.rpc.AsyncCallback;
import ru.spb.osll.myfit.common.ExecutingResult;
import ru.spb.osll.myfit.common.PageExecutingResult;
import ru.spb.osll.myfit.common.SuiteExecutingResult;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface SuiteExecutingServiceAsync {
  void executeSuite(String id, Map<String, String> metadata, AsyncCallback<SuiteExecutingResult> callback);

  void getExecutingResult(String id, AsyncCallback<SuiteExecutingResult> async);

  void getSuiteResultsHeaders(AsyncCallback<Set<ExecutingResult>> async);

  void getSuiteResults(String suite, AsyncCallback<Set<ExecutingResult>> async);

  void getPageExecutingResults(String suiteResultId, AsyncCallback<List<PageExecutingResult>> async);
}
